/* Sokoban
 * HIT3243
 * Authors: Mike Blackney, Ben Ingarfield, Kurniawan
 */

#pragma once

#include <list>
#include <string>
#include "dxf.h"

class Options : public dxf::GameStateGUI {
public:
	static Options* const Instance( );

	virtual HRESULT Load( );
	virtual void Unload( );

	virtual void Update(double fTime, float fElapsedTime);
	virtual void Render2D(double fTime, float fElapsedTime);
	virtual void Resize(const D3DSURFACE_DESC* pBackBufferSurfaceDesc);
	virtual bool MsgProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
	virtual void OnGUIEvent( UINT nEvent, int nControlID, CDXUTControl* pControl, void* pUserContext );

protected:

	bool bUpdateOptions;

	CDXUTComboBox* pDifficulty;
	CDXUTComboBox* pAdvOptions[3];

	long long iDifficulty, iAdvSpeed, iAdvRespawn, iAdvLives;

	dxf::Font largefont, smallfont;
	dxf::Sprite title;

	Options( );
	~Options( );
};
